Common video compression algorithms use compression based on temporal redundancies between pictures in the video. For example, MPEG-2 defines pictures that can be predicted from one other picture (a P-picture), two pictures (a B-picture), or not predicted from another picture at all (an I-picture).
Portions, known as macroblocks, from B and P pictures are predicted from reference pixels in a reference picture. The reference pixels can be spatially displaced from the macroblock that is predicted therefrom. Accordingly, the macroblock is encoded as a prediction error, along with indicator(s) indicating the spatial displacements of the reference pixels from the position of the macroblock. The indicator(s) is known as a motion vector.
During decoding, the video decoder uses the motion vectors to retrieve the reference pixels. The reference pixels are retrieved from a memory storing the reference frame. The memory storing the reference frame is known as a frame buffer. A motion vector address computer determines the appropriate addresses storing the reference pixels for a macroblock, based on the motion vectors. A video request manager makes a read request to a memory controller for the reference pixels at the address calculated by the motion vector address computer. The memory controller provides the reference pixels to a pixel reconstructor.
The pixel reconstructor applies the prediction error to the reference pixels, thereby recovering the macroblock. The video decoder then writes the macroblock to the frame buffer. The video request manager makes a write request to the memory controller to write the macroblock to the frame buffer.
As can be seen, decoding a predicted macroblock can include read and write transactions. A standard definition television picture comprises 45×30 macroblocks. A video sequence can include 30 frames/second. Accordingly, there is a limited time for decoding frames for display in real time. If each macroblock decode requires the time for read transaction(s) and a write transaction, it becomes increasingly difficult to display the frames in real time.
Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of ordinary skill in the art through comparison of such systems with the present invention as set forth in the remainder of the present application with reference to the drawings.